package com.java.demo.component;

import com.java.demo.enity.User;
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;

@Controller
public class UserBean {

    // 设置成原型模式(也就是多例作用域)，不设置默认就是单例模式
    @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
    // 使用 bean 注解的方式注入 bean 对象
    @Bean(name = {"newUser"})
    //@Bean  // 注意 Bean 需要搭配五大类注解来使用，不然会报错 Exception encountered during context initialization
    public User user() {
        // 这里使用new 对象的伪代码形式，只是为了演示用的
        User user = new User();
        user.setUserId(1);
        user.setName("陌白");
        return user;
    }
}
